package com.yuexunxinxi.carefree.service.a_user;

import com.yuexunxinxi.carefree.entity.AUser;
import com.yuexunxinxi.carefree.entity.vo.AUserVo;
import com.yuexunxinxi.carefree.utils.R;

import javax.servlet.http.HttpServletRequest;

/**
 * 作者: 李咨辰
 * 文件名: AUserService.java
 * 路径: com.yuexunxinxi.carefree.service.user
 * 时间: 2024-10-05 11:29
 * 版本: 1.0
 * 描述: TODO 用户
 **/
public interface AUserService {
    /**
     * 手机号密码登录
     *
     * @param phone    手机号
     * @param password 密码
     * @param request  用于获取ip
     * @return AUser对象
     */
    AUser doLogin(String phone, String password, HttpServletRequest request);

    /**
     * 登录状态验证
     *
     * @param id     用户编号
     * @param secret 授权码
     * @return 登录对象
     */
    AUser loginStatus(String id, String secret, HttpServletRequest request);

    /**
     * 使用手机号验证码登录
     * @param phone 手机号
     * @param request 用于获取ip地址
     * @return 用户类
     */
    AUser captchaLogin(String phone, HttpServletRequest request);

    /**
     * 修改用户
     *
     * @param aUser   用户类
     * @param request 用于获取ip
     * @return R
     */
    R editUser(AUserVo aUser, HttpServletRequest request);

    /**
     * 根据id获取头像
     * @param id 根据id获取头像
     * @return 头像
     */
    String getAvatarById(Long id);


}
